/**
 * @author Linrui
 * @since 2011-05-06
 * 产品，业务层结构
 */ 
package com.qeado.product.service;

import com.qeado.product.model.Product;
import com.qeado.util.FileUpload;
import com.qeado.util.PageHelper;

public interface ProductService {

	/**
	 *  分页按条件查询某类别的产品
	 *  pageNum 页数 
	 *  pageSize 单页长度
	 *  typeCode 产品的分类
	 * orderby 排列条件 { 1:按发布时间排序 2:按价格排序 3:按人气排序 4:按等级排序  }
	 * asc  排列顺序 { 0:顺序 1:逆序 }
	 * queryType 产品信息类型 { 1:出售 2:采购 } 
	 */
	public PageHelper listBySort(int pageNum, int pageSize, String typeCode,String orderBy, String asc ,String queryType) ;
	
	/**
	 * 分类模糊查询所有产品，分页；查询示例：用like模糊查询
	 * @param pageNum
	 * @param pageSize
	 * @param typeCode
	 * @param orderBy
	 * @param asd
	 * @param queryType
	 * @return
	 */
	public PageHelper listBySortLike(int pageNum, int pageSize, String typeCode, String orderBy, String asd, String queryType) throws Exception;
	public PageHelper listByUser(int pageNum, int pageSize, String userName, String orderBy, String asc , String queryType);
	
	/* 查询所有的出售或者采购产品 */
	public PageHelper listAll(int pageNum, int pageSize, String orderBy, String asc , String queryType);
	
	/* 查询指定ID的product */
	public Product getProductById(String id);
	
	/* 分页按搜索关键字查询产品，并按要求排列 */
	public PageHelper listByKey(int pageNum, int pageSize, String key, String orderBy, String asc );
	
	
	/* 删除指定ID的product */
	public boolean deleteProductById(String id);
	
	/* 更新指定的product */
	public boolean updateProduct(Product product);
	
	/* 发布信息 */
	public boolean insertProduct(Product product);
	public boolean insertProduct(Product product , FileUpload upload);
}
